#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>

/* 
    打开有名管道,读出数据
    运行命令: ./read
*/
int main(int argc, char *argv[])
{
    /*打开有名管道文件,此时才会在内核中创建队列*/
    int fd;
    fd = open("./myfifo", O_RDONLY);
    if(fd > 0){
        printf("创建好有名管道读端, fd = %d\n", fd);
    }

    char data = 0;
    /*读数据*/
    read(fd, &data, 1);
    printf("读取到管道数据为 %d\n", data);
    while(data == 0);

    /*输出三行数据*/
    for(int i = 0; i < 3; i++)
    {
        printf("second process\n");
    }

    close(fd);

    return 0;
}
